GDK: Make sure W32 backend compiles without GdkDeviceManager
authorРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 30 Nov 2017 05:38:20 +0000 (05:38 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Sat, 2 Dec 2017 10:37:23 +0000 (10:37 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=773299

docs/reference/gdk/meson.build
gdk/win32/gdkdevicemanager-win32.c
gdk/win32/gdkdevicemanager-win32.h
gdk/win32/gdkdisplay-win32.c
gdk/win32/gdkevents-win32.c
gdk/win32/gdkglobals-win32.c
gdk/win32/gdkprivate-win32.h

index a6b0724e7c8ae03532fb1989b947a8dfc29165eb..0e6d8ff4042ff80f832fc6e3ba2f494b70bff0fa 100644 (file)
@@ -7,7 +7,6 @@ private_headers = [
   'gdk-private.h',
   'gdkapplaunchcontextprivate.h',
   'gdkcursorprivate.h',
-  'gdkdevicemanagerprivate.h',
   'gdkdeviceprivate.h',
   'gdkdisplaymanagerprivate.h',
   'gdkdisplayprivate.h',
index b716eb1dd788ab5a342c088dbc4b9dcd1bd6716a..18e12e554c78005ee6bfccc532900fac7be7c1c4 100644 (file)
@@ -71,7 +71,7 @@ static gboolean default_display_opened = FALSE;
 G_DEFINE_TYPE (GdkDeviceManagerWin32, gdk_device_manager_win32, G_TYPE_OBJECT)
 
 static GdkDevice *
-create_pointer (GdkDeviceManager *device_manager,
+create_pointer (GdkDeviceManagerWin32 *device_manager,
                GType g_type,
                const char *name,
                GdkDeviceType type)
@@ -83,12 +83,11 @@ create_pointer (GdkDeviceManager *device_manager,
                        "input-mode", GDK_MODE_SCREEN,
                        "has-cursor", type == GDK_DEVICE_TYPE_MASTER,
                        "display", _gdk_display,
-                       "device-manager", device_manager,
                        NULL);
 }
 
 static GdkDevice *
-create_keyboard (GdkDeviceManager *device_manager,
+create_keyboard (GdkDeviceManagerWin32 *device_manager,
                 GType g_type,
                 const char *name,
                 GdkDeviceType type)
@@ -100,7 +99,6 @@ create_keyboard (GdkDeviceManager *device_manager,
                        "input-mode", GDK_MODE_SCREEN,
                        "has-cursor", FALSE,
                        "display", _gdk_display,
-                       "device-manager", device_manager,
                        NULL);
 }
 
@@ -352,7 +350,7 @@ print_cursor (int index)
 static void
 wintab_init_check (GdkDeviceManagerWin32 *device_manager)
 {
-  GdkDisplay *display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (device_manager));
+  GdkDisplay *display = device_manager->display;
   static gboolean wintab_initialized = FALSE;
   GdkDeviceWintab *device;
   WORD specversion;
@@ -564,7 +562,6 @@ wintab_init_check (GdkDeviceManagerWin32 *device_manager)
                                  "input-mode", GDK_MODE_SCREEN,
                                  "has-cursor", lc.lcOptions & CXO_SYSTEM,
                                  "display", display,
-                                 "device-manager", device_manager,
                                  NULL);
 
          device->sends_core = lc.lcOptions & CXO_SYSTEM;
@@ -701,12 +698,12 @@ gdk_device_manager_win32_constructed (GObject *object)
 
   device_manager = GDK_DEVICE_MANAGER_WIN32 (object);
   device_manager->core_pointer =
-    create_pointer (GDK_DEVICE_MANAGER (device_manager),
+    create_pointer (device_manager,
                    GDK_TYPE_DEVICE_VIRTUAL,
                    "Virtual Core Pointer",
                    GDK_DEVICE_TYPE_MASTER);
   device_manager->system_pointer =
-    create_pointer (GDK_DEVICE_MANAGER (device_manager),
+    create_pointer (device_manager,
                    GDK_TYPE_DEVICE_WIN32,
                    "System Aggregated Pointer",
                    GDK_DEVICE_TYPE_SLAVE);
@@ -716,12 +713,12 @@ gdk_device_manager_win32_constructed (GObject *object)
   _gdk_device_add_slave (device_manager->core_pointer, device_manager->system_pointer);
 
   device_manager->core_keyboard =
-    create_keyboard (GDK_DEVICE_MANAGER (device_manager),
+    create_keyboard (device_manager,
                     GDK_TYPE_DEVICE_VIRTUAL,
                     "Virtual Core Keyboard",
                     GDK_DEVICE_TYPE_MASTER);
   device_manager->system_keyboard =
-    create_keyboard (GDK_DEVICE_MANAGER (device_manager),
+    create_keyboard (device_manager,
                    GDK_TYPE_DEVICE_WIN32,
                     "System Aggregated Keyboard",
                     GDK_DEVICE_TYPE_SLAVE);
@@ -757,7 +754,6 @@ gdk_device_manager_win32_constructed (GObject *object)
 static void
 gdk_device_manager_win32_class_init (GdkDeviceManagerWin32Class *klass)
 {
-  GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass);
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
   object_class->finalize = gdk_device_manager_win32_finalize;
index eb6caa1abf161e72780a203a74e35c5f82f16168..ab82bbad73cd21ddd85d15445ffea241c53e9dd4 100644 (file)
@@ -18,8 +18,6 @@
 #ifndef __GDK_DEVICE_MANAGER_WIN32_H__
 #define __GDK_DEVICE_MANAGER_WIN32_H__
 
-#include <gdk/gdkdevicemanagerprivate.h>
-
 G_BEGIN_DECLS
 
 #define GDK_TYPE_DEVICE_MANAGER_WIN32         (gdk_device_manager_win32_get_type ())
index 0753d5f4f8a52956b1aa5ae43138add81daf49c6..007201444d7d9d76cf555cd4054aca41b9784651 100644 (file)
@@ -447,8 +447,8 @@ _gdk_win32_display_open (const gchar *display_name)
   _gdk_input_ignore_core = FALSE;
 
   _gdk_device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_WIN32,
-                                      "display", _gdk_display,
                                       NULL);
+  _gdk_device_manager->display = _gdk_display;
 
   _gdk_dnd_init ();
 
index 3bebec9fb7298e4c288413c6756a79684e70e543..75fe1643400d9f3df33f48e0803a32d704fd7afc 100644 (file)
@@ -179,7 +179,7 @@ _gdk_win32_get_next_tick (gulong suggested_tick)
 }
 
 static void
-generate_focus_event (GdkDeviceManager *device_manager,
+generate_focus_event (GdkDeviceManagerWin32 *device_manager,
                       GdkWindow        *window,
                       gboolean          in)
 {
@@ -201,7 +201,7 @@ generate_focus_event (GdkDeviceManager *device_manager,
 }
 
 static void
-generate_grab_broken_event (GdkDeviceManager *device_manager,
+generate_grab_broken_event (GdkDeviceManagerWin32 *device_manager,
                             GdkWindow        *window,
                             gboolean          keyboard,
                             GdkWindow        *grab_window)
@@ -1107,7 +1107,7 @@ send_crossing_event (GdkDisplay                 *display,
   POINT pt;
   GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
 
-  device_manager = GDK_DEVICE_MANAGER_WIN32 (_gdk_device_manager);_gdk_device_manager);
+  device_manager = _gdk_device_manager;
 
   grab = _gdk_display_has_device_grab (display, device_manager->core_pointer, 0);
 
@@ -3009,7 +3009,7 @@ gdk_event_translate (MSG  *msg,
       if (keyboard_grab != NULL &&
          !GDK_WINDOW_DESTROYED (keyboard_grab->window))
        {
-         generate_grab_broken_event (device_manager, keyboard_grab->window, TRUE, NULL);
+         generate_grab_broken_event (_gdk_device_manager, keyboard_grab->window, TRUE, NULL);
        }
 
       /* fallthrough */
@@ -3024,7 +3024,7 @@ gdk_event_translate (MSG  *msg,
       if (GDK_WINDOW_DESTROYED (window))
        break;
 
-      generate_focus_event (device_manager, window, (msg->message == WM_SETFOCUS));
+      generate_focus_event (_gdk_device_manager, window, (msg->message == WM_SETFOCUS));
       return_val = TRUE;
       break;
 
index 68827867e7b223736b127c4c8e3f152a9ddf8da5..0af85d6149892bb46c56206691819e41adb34b60 100644 (file)
@@ -28,7 +28,7 @@
 #include "gdkprivate-win32.h"
 
 GdkDisplay      *_gdk_display = NULL;
-GdkDeviceManager *_gdk_device_manager = NULL;
+GdkDeviceManagerWin32 *_gdk_device_manager = NULL;
 
 gint             _gdk_offset_x, _gdk_offset_y;
 
index d7c072246bbef8bb15b49ab7515085637d6ec168..ccfc601c4cbe94959ea9ebb2c51b53f840e30388 100644 (file)
@@ -39,6 +39,7 @@
 #include <gdk/win32/gdkwin32display.h>
 #include <gdk/win32/gdkwin32screen.h>
 #include <gdk/win32/gdkwin32keys.h>
+#include <gdk/win32/gdkdevicemanager-win32.h>
 
 #include "gdkinternals.h"
 
@@ -259,7 +260,7 @@ extern LRESULT CALLBACK _gdk_win32_window_procedure (HWND, UINT, WPARAM, LPARAM)
 
 extern GdkDisplay       *_gdk_display;
 
-extern GdkDeviceManager *_gdk_device_manager;
+extern GdkDeviceManagerWin32 *_gdk_device_manager;
 
 /* Offsets to add to Windows coordinates (which are relative to the
  * primary monitor's origin, and thus might be negative for monitors